#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>

#include <string.h>

//写一个猜数字游戏
//1：自动产生一个1-100之间的随机数
//2.猜数字
//a，猜对了，就恭喜你，游戏结束
//b，你猜错了，会告诉猜大了，还是猜小了，继续猜，直到猜对I
//3，游戏一个一直玩，除非退出游戏
#include <stdlib.h>
#include<time.h>
void menu() {
	printf("*******************************************\n");
	printf("*************  1. play   ******************\n");
	printf("*************  0. exit   ******************\n");
	printf("*******************************************\n");
}

void game() {
	//猜数字游戏的实现

	//1.生成随机数
	//rand 函数返回了一个0-32767之间的数字
	//时间-时间戳     unsigned int 强转成无符号整形 
	//因为时间戳 不可能是负数
	
	int ret = rand()%100+1; //%100的余数是0-99，然后 +1 范围就是1-100
	//printf("%d\n", ret);


	//2.猜数字
	int guess = 0;
	while (1)
	{

        // int ret = rand()%100+1;  //如果把生成随机数 放到循环里 那就只有一发入魂 不然后面的提示都没用 
		printf("请猜数字：>");
		scanf("%d", &guess);
		if (guess < ret)
		{
			printf("猜小了\n");
		}
		else if(guess > ret)
		{
			printf("猜大了\n");
		}
		else
		{
			printf("恭喜你，猜对了！\n");
			break;
		}
	}
}
int main()
{
	int input = 0;
	// 随机数srand 放在这 (srang 不需要频繁设置起点) 是为了运行一次随机数起点不变，做到起点数能和后面的数都不一样
	srand((unsigned int)time(NULL));
	do
	{
		menu();  //打印菜单
		printf("请选择：>");
		scanf("%d", &input);
		switch (input)
		{
		case 1:
			game();
			break;
		case 0:
			printf("退出游戏\n");
			break;
		default:
			printf("选择错误,请重新选择\n");
			break;
		}
			
	} while (input);


	return 0;
}